//{
/**
 * @fileOverview This file contains Husky plugin that takes care of the
 *               operations related to detecting the style change
 * @name SE_WYSIWYGBodyStyleSetter.js
 */
nhn.husky.SE_WYSIWYGBodyStyleSetter = jindo.$Class( {
	name : "SE_WYSIWYGBodyStyleSetter",
	$init : function() {
	},
	$ON_MSG_APP_READY : function() {
		this.oDocument = this.oApp.getWYSIWYGDocument();
		this.oApp.exec("ADD_APP_PROPERTY", [ "getCurrentBodyStyle",	jindo.$Fn(this.getCurrentBodyStyle, this).bind() ]);
		this.oApp.exec("ADD_APP_PROPERTY", [ "setBodyStyle", jindo.$Fn(this.setBodyStyle, this).bind() ]);
		this.oApp.exec("ADD_APP_PROPERTY", [ "copyBodyStyle", jindo.$Fn(this.copyBodyStyle, this).bind() ]);

	},
	getCurrentBodyStyle : function() {
		return $Element(this.oDocument.body).attr("style");
	},
	/**
	 * setBodyStyle() 메서드는 HTML 요소의 CSS 속성 값을 가져오거나 설정한다. 이 메서드로 CSS 속성은 카멜 표기법(Camel
	 * Notation)을 사용한다. 예를 들면 border-width-bottom 속성은 borderWidthBottom으로 지정할 수
	 * 있다. 또한 float 속성은 JavaScript의 예약어로 사용되므로 setBodyStyle() 메서드에서는 float 대신 cssFloat을
	 * 사용한다(Internet Explorer에서는 styleFloat, 그 외의 브라우저에서는 cssFloat를 사용한다.).
	 * 
	 */
	setBodyStyle : function(sStyle, sValue) {
		$Element(this.oDocument.body).css(sStyle, sValue);
		return true;
	},	
	setBodyAttr : function(sAttr, sValue) {
		$Element(this.oDocument.body).attr(sAttr, sValue);
		return true;
	},
	/**
	 * copyBodyStyle() 메서드는 Container(DIV)의 style을 IframeBody style에 복사합니다. 
	 */
	copyBodyStyle : function() {
		var containerStyle = $Element(this.oApp.htOptions.elAppContainer).attr("style");
		this.setBodyAttr("style", containerStyle);
	}
});
// }
